package object;

public class IntegerDemo {
    public static void main(String[] args) {
        //演示包装类的常用操作
        //1)可以通过包装类来获取基本类型的取值范围：
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        System.out.println("int的最大值为"+max+"，int的最小值为"+min);
        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("long的最大值为"+max1+",long最小值为"+min1);

        //2)包装类可以将字符串转换为对应的基本类型
        String s1="39";
        int age = Integer.parseInt(s1);//将字符串s1转换为int类型并赋值给age
        System.out.println(s1);//39---int类型
        String s2 = "123.456";
        double price = Double.parseDouble(s2);//将字符串s2转换为double类型并赋值给price
        System.out.println(s2);//123.456----double类型





        /*
        //触发了自动装箱特性，会被编译为：Integer i = Integer.valueOf(5);
        Integer i = 5;//基本类型到包装类----装箱

        //触发了自动拆箱特性，会被编译为：int j = i.intValue();
        int j = i ;//包装类到基本类型-----拆箱
         */







        /*
        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println(i1==i2);//false，==比较的是地址
        System.out.println(i1.equals(i2));//ture，包装类重写equals（）比较值


        //valueOf()方法会复用1个字节（-128到127）范围内的数据，建议使用valueOf（）
        Integer i3 = Integer.valueOf(5);
        Integer i4 = Integer.valueOf(5);
        System.out.println(i3==i4);//ture，==比较的是地址
        System.out.println(i3.equals(i4));//ture，包装类重写equals（）比较值

        //将包装类型转换为基本类型
        int i = i4.intValue();
        System.out.println(i);
         */
    }
}
